<!DOCTYPE>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Thymeleaf Test</title>
    <link rel="stylesheet" th:href="@{style.css}" />
</head>
<body>
<div>
    <p>①${}，变量表达式，它可以获取到Controller层存入Model的值（request域和session域中）</p>

    <div th:hidden="true">
        <p>内置的基本对象</p>
        <p th:text="${#ctx}">上下文对象</p>
        <p th:text="${#vars}">上下文变量</p>
        <p th:text="${#locale}">上下文语句环境-> zh_CN</p>
        <p th:text="${#request}">HttpServletRequest 对象（仅在 Web 应用中可用）；</p>
        <p th:text="${#response}">HttpServletResponse 对象（仅在 Web 应用中可用）；</p>
        <p th:text="${#session}">HttpSession 对象（仅在 Web 应用中可用）；</p>
        <p th:text="${#servletContext}">ServletContext 对象（仅在 Web 应用中可用）；</p>
    </div>

    <div>
        <p>内置的工具对象</p>
        <p th:text="'#strings工具对象 -> message='+${#strings.equals(message, 'taco')}">true or false</p>

        <p th:text="'#numbers工具对象 -> '+${#numbers.formatDecimal(num,1,'COMMA',2,'POINT')}">
            #numbers.formatDecimal(numbwe,整数位,整数位千分位标识符,小数位,小数位表示符)
            ${#numbers.formatDecimal(num,1,'COMMA',2,'POINT')}
            显示：99,999,999.99
            1：表示整数位至少一位，不足以0补齐，如：num = 0.00，
            > ${#numbers.formatDecimal(num,0,'COMMA',2,'POINT')}则显示 .00
            > ${#numbers.formatDecimal(num,1,'COMMA',2,'POINT')}则显示 0.00
            COMMA：','
            POINT：‘.’
            2：表示保留两位小数
        </p>

        <p th:text="'Taco is ' + (${#bools.isTrue(isHot)} ? 'hot' : 'cold')">
            bools：布尔工具对象，常用的方法有：isTrue 和 isFalse 等；
        </p>

        <p th:hidden="true">arrays：数组工具对象，常用的方法有：toArray、length、isEmpty、contains 和 containsAll 等；</p>
        <p>arrays数组【</p>
        <div th:each="item:${#arrays.toStringArray(arrays)}">
            <p th:text="${item}"></p>
        </div>
        <p> 】</p>

        <p th:text="${#dates.createNow()}">
            dates：日期工具对象，常用的方法有：format、year、month、hour 和 createNow 等。
        </p>

    </div>
</div>
<div>
    <p>②*{}，选择变量表达式，可以省略对象名，直接获取上下文对象的属性值</p>
    <div th:object="${user}">
        user msg:
        <p th:text="*{name}"></p>
        <p th:text="*{age}"></p>
    </div>
</div>
<div>
    <p>③#{}，国际化表达式，它主要是从国际化配置文件中取值.</p>
    <p th:hidden="true">
        messages是 Spring Boot 加载资源文件默认采用的名称（basename），
        如果你所使用的资源文件名称不是以messages命名或所使用的资源文件不是在src/main/resources根目录，
        你可以通过spring.messages.basename属性来做具体的配置。
        如，资源文件messages.properties和messages_en_US.properties
        假设它们所在的目录位置是src/main/resources/i18n。
    </p>
    <p th:text="#{welcome.msg(${user.name})}"></p>
</div>
<div>   z
    <p>⑤ ~{} 片段引用表达式</p>
    <div th:insert="~{home::sharePart}"></div>
</div>
</body>
</html>